home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Logiciels PC Special 3
/
Logiciel PC - Hors-Serie 3.iso
/
Logs
/
consoles
/
odyssey2
/
O2EM.TXT
< prev
Wrap
Text File
|
1998-09-27
|
9KB
|
224 lines
O2EM V0.701
an Odyssey 2 emulator
copyright 1996/1998 by Daniel Boris (dboris@erols.com)
---------------------------------------------------------------------------
Acknowledgments:
I would like to thank the following people for their help and encouragement:
Keita Iida (Keita/Pooka/Fygar)
for his enthusiasm, for the O2EM beta testing, and
general encouragement.
Marco Kerstens (MarcoK)
for providing Videopac schematics, and general support.
Matthew Pritchard
for getting me some official O2 programming documents.
Bo Krogsgaard (Therion23)
for putting the idea of doing the emulator into my head to
start with.
Jason F. Gohlke
for providing valuable Voice tech info as well as the voice
samples.
Erica (unico)
for putting up with me while I was working on this ;)
everyone on EFNET IRC channels #emulate and #rgvc
and all the people who have e-mailed me to say how the emulator has
brought them back to their childhood!
---------------------------------------------------------------------------
Copyright:
O2EM is copyright 1997,1998 by Daniel Boris.
Odyssey 2 and Videopac are trademarks of Philips Electronics.
O2EM is free as long as it is not used in a commercial matter and not
altered in any way. The contents of this archive should not be
added to or changed in any way. ROM images should never be distributed
with this emulator.
I maintain the right to forbid the use of the emulator at
any time. I am not responsible for any damage caused by the use
of this program. This program is distributed "as-is". I make no
guarantees as to it's accuracy, performance, or compatibility with
the users hardware.
The emulator is not to be distributed for profit and may not be
included on CD's without my express permission.
---------------------------------------------------------------------------
Introduction
This emulator was originally built up completely from scratch with
almost no technical information to work from. The only materials I had
to work with when writing this emulator where the Intel 8048 microcontroller
data book, an O^2 console, and a couple of cartridges. Everything else was
figured out by tracing circuits, running code on the real hardware, and
generally do a lot of high tech detective work. Recently I acquired some
official O2 programming info that has helped me confirm the things that I
worked out and to fill in a few things that I was missing.
The current version of O2EM can be found at:
http://atarihq.com/danb
---------------------------------------------------------------------------
Quick Setup:
To get O2EM up and running quickly follow these steps:
1. Create a directory called O2EM on your harddrive.
2. Unzip O2EM70.ZIP into the O2EM directory.
3. Download the o2em bios ROM O2ROM.BIN and put it into your O2EM directory.
4. Download one or more game rooms, for example KCMUNCH.BIN for KC Munchkin and
put the ROM in your O2EM directory.
5. From the O2EM directory type: O2EM KCMUNCH.BIN to start the game.
---------------------------------------------------------------------------
Setup:
Before you can run O2EM you need a copy of the O2 BIOS ROM. For
copyright reasons I am not including this ROM image in this archive. This
ROM image is stored inside the 8048 processor and can be read out with the
appropriate equipment. The image should be 1024 bytes long , named
O2ROM.BIN and should be in the same directory as the emulator.
You will also need cartridge images, but again for copyright reasons
I cannot provide these. PLEASE DO NOT E-mail me asking for ROM images! All
messages asking for ROM images will be promptly deleted.
O2EM works with Sound Blaster and compatible cards. Be sure to have you
BLASTER environment variable set (see your sound card manual for more info).
O2EM should automatically detect your sound card, if it doesn't it will disable
sound emulation.
If you wish to use Voice emulation for games like KC's Krazy Chase, create
a directory called VOICE in the directory where you have O2EM. Download the
voice samples and unzip them into the VOICE directory. There are two sets
of voice samples, mainsamp.zip which is the main voice samples and sidsamp.zip
which are the samples used by the game Sid the Spellbinder. You only need the
Sid samples if you want voice in that game.
The following games run almost perfectly:
KC Munchkin, Thunderball Pinball, KC's Krazy Chase, Pick Axe Pete,
Cosmic Conflict, Dynasty, Quest for the Kings, Sid the Spellbinder
among others.
------------------------------------------------------------------------------------
Usage:
O2EM file -[options]
file - O2 file to load. The file should be either 2048, 4096, or 8192
bytes long.
-debug - Start emulator in debug mode.
-s1=# - Set stick 1 mode
-s2=# - Set stick 2 mode
Modes: 0 = Disable
1 = Right keyboard controls
2 = Left keyboard controls
3 = Joystick
-nolimit - Turns off speed limiter. The speed limiter is on by default
and should keep the emulator running at proper speed, but if the games
run too slow try adding this option to turn the limiter off.
-nosound - Disables sound emulation, this will also disable the voice
emulation.
-novoice - Disables voice emulation.
----------------------------------------------------------------------------
Controls:
Arrow keys = Joystick 1
W,D,S,A = Joystick 2
Right Shift = Fire Stick 1
Left Shift = Fire Stick 2
ESC = Leave the emulator
F4 = Enter debugger
F5 = Reset emulator (same as pressing the reset on the O2 keyboard)
----------------------------------------------------------------------------
Debugger:
The emulator comes with a built in debugger that I used for development.
The debugger is not very polished and fairly incomplete but it can be
useful for single stepping through programs and watching their behavior.
I will clean up and improve the debugger in later versions.
H = display help
----------------------------------------------------------------------------
Limitations
- sound: This is my first attempt at writing sound emulation from
scratch so it's still not perfect.
- Mid screen changes: In this version of O2EM I added support for
mid-screen interrupts which I hoped would fix a lot of games.
Unfortunately some games do mid-screen changes without using
interrupts so I will have to re-write the screen engine again
to make these work.
Version History:
v0.50: 7/06/97 First Public Release
V0.60: 10/8/97
- Ported from Borland C to DJGPP
- Fixed DA A instruction
- Add new screen draw engine that allows mid screen changes
- Fixed handling of A11 during interrupts
- Fixed pushing of PSW onto stack during interrupts
- Made various timing fixes
- Adjust colors
- Add speed limiter
- Added joystick support
- Added configurable controls
- Shifted screen to the right so it is centered
- Fixed a couple character set images
V0.65: 05/15/98
- Couple bug fixes in 8039 emulation (thanks to Mirko Buffoni for this)
- Improved speed limiter
- Added sound support
- X and Y position registers now implemented correctly
- Grid collision handling fixed (Basketball)
- Changed keys for stick 2 to a more comfortable setting and enable
it by default.
- Fixed a bug in screen update routine that was causing crashes in
some games.
- Compiled with -mpentium which should improve speed on Intel Pentiums.
V0.70 09/26/98
- Fixed shape of '$' character. Thanks to Mattias Persson.
- Added missing 64th character to character set. Again thanks to Mattias.
- Added Voice support. Thanks to Jason Gohlke
- Fixed bug in drawing of bottom grid line. Thanks to John Donzilla.
- Fixed a bug in the CPU core related to the handling of branch instructions
near page boundaries.
- CPU core now jumps to the correct address on an external interrupt,
Killer Bees now runs.
V0.701 09/27/98 (Two bug fixes listed for V0.70 didn't get into the release)
- Fixed shape of '$' character. Thanks to Mattias Persson.
- Added missing 64th character to character set. Again thanks to Mattias.